Skip to content

Release 1.0.8 - #4

Open
ckenst wants to merge 13 commits into
masterfrom
codex/release-1.0.8
Open

ckenst wants to merge 13 commits into
masterfrom
codex/release-1.0.8

Conversation

@ckenst

@ckenst ckenst commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

A few newly added models use auto-properties where the existing SDK model layer uses public fields for JSON members, creating an inconsistent model convention that should be aligned before release.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR prepares the SDK for the 1.0.8 release by adding several missing Mailinator API operations (message summary/headers/text, domain-wide listing, and domain/inbox webhook injection), updating dependencies, and tightening documentation/testing guidance (including reproducible restores via lock files).

Changes:

  • Added new MessagesClient operations for domain message listing and message content/metadata retrieval, plus webhook injection operations in WebhooksClient, with accompanying request/response models.
  • Updated dependency versions (e.g., RestSharp/Newtonsoft.Json) and introduced NuGet lock files + repo-wide lockfile restore configuration.
  • Expanded docs and examples, and added/updated unit + integration tests (including opt-in webhook injection tests and new message read-only tests).
File summaries
File Description
TESTING.md Expanded guidance for unit/integration suites and added focused commands for new message endpoints and webhook tests.
ROADMAP.md Updated dependency audit notes and refreshed OpenAPI gap-analysis snapshot + compatibility decisions.
REFERENCE.md Added new Messages/Webhooks operations and expanded the Obsolete/compatibility section.
README.md Added quick-start references for new message listing/content/headers/summary and webhook injection operations.
mailinator-csharp-client/packages.lock.json Added lock file for SDK project restores.
mailinator-csharp-client/Models/Webhooks/Responses/PostWebhookMessageResponse.cs Introduced response model for webhook injection status/id.
mailinator-csharp-client/Models/Webhooks/Requests/PostWebhookMessageRequest.cs Added request model for domain-level webhook injection and token handling.
mailinator-csharp-client/Models/Webhooks/Requests/PostWebhookInboxMessageRequest.cs Added request model for inbox-scoped webhook injection.
mailinator-csharp-client/Models/Webhooks/Entities/WebhookMessage.cs Added richer webhook payload model (HTML, headers, extension data).
mailinator-csharp-client/Models/Messages/Responses/GetMessageTextResponse.cs Added response wrapper for extracted message text.
mailinator-csharp-client/Models/Messages/Responses/GetMessageTextPlainResponse.cs Added response wrapper for text/plain body content.
mailinator-csharp-client/Models/Messages/Responses/GetMessageTextHtmlResponse.cs Added response wrapper for text/html body content.
mailinator-csharp-client/Models/Messages/Responses/GetMessageSummaryResponse.cs Added response wrapper for message summary metadata.
mailinator-csharp-client/Models/Messages/Responses/GetMessageHeadersResponse.cs Added response wrapper for SMTP headers retrieval.
mailinator-csharp-client/Models/Messages/Requests/ListDomainMessagesRequest.cs Added request model for domain-wide message listing with pagination and filters.
mailinator-csharp-client/Models/Messages/Requests/GetMessageTextRequest.cs Added request model for extracted message text retrieval.
mailinator-csharp-client/Models/Messages/Requests/GetMessageTextPlainRequest.cs Added request model for textplain retrieval.
mailinator-csharp-client/Models/Messages/Requests/GetMessageTextHtmlRequest.cs Added request model for texthtml retrieval.
mailinator-csharp-client/Models/Messages/Requests/GetMessageSummaryRequest.cs Added request model for summary retrieval.
mailinator-csharp-client/Models/Messages/Requests/GetMessageHeadersRequest.cs Added request model for headers retrieval.
mailinator-csharp-client/mailinator-csharp-client.csproj Bumped version to 1.0.8 and updated package references (incl. System.Text.Json).
mailinator-csharp-client/Clients/ApiClients/Webhooks/WebhooksClient.cs Added domain/inbox webhook injection operations (PostWebhook*Async).
mailinator-csharp-client/Clients/ApiClients/Messages/MessagesClient.cs Added new message content/metadata operations + domain listing; forwarded delete on inbox message fetch.
mailinator-csharp-client/Clients/ApiClients/Authenticators/AuthenticatorsClient.cs Marked spec-mismatched list/get operations as [Obsolete] with guidance.
mailinator-csharp-client-unit-tests/WebhookMessageTests.cs Added offline tests validating webhook request construction and payload/response JSON behavior.
mailinator-csharp-client-unit-tests/packages.lock.json Added lock file for unit-test project restores.
mailinator-csharp-client-unit-tests/MessageSummaryTests.cs Added offline tests for summary request construction + JSON shape.
mailinator-csharp-client-unit-tests/MessageHeadersTests.cs Added offline tests for headers request construction + JSON shape.
mailinator-csharp-client-unit-tests/MessageContentTests.cs Added offline tests for message text/plain/html requests + content-preservation deserialization.
mailinator-csharp-client-unit-tests/mailinator-csharp-client-unit-tests.csproj Updated test SDK + MSTest package versions.
mailinator-csharp-client-unit-tests/ApiClientRequestTests.cs Added request-construction coverage for new endpoints and expanded coverage across clients.
mailinator-csharp-client-tests/TestEnvironment.cs Extracted shared .env loading helper for integration tests.
mailinator-csharp-client-tests/TestBase.cs Switched to shared env loader and added MAILINATOR_TEST_MESSAGE_ID fixture support.
mailinator-csharp-client-tests/packages.lock.json Added lock file for integration-test project restores.
mailinator-csharp-client-tests/packages.config Removed legacy packages.config in favor of SDK-style PackageReference.
mailinator-csharp-client-tests/MessagesEndpointTests.cs Added opt-in, read-only integration tests for summary/headers/domain listing; tightened exception assertions.
mailinator-csharp-client-tests/MessageContentEndpointTests.cs Added read-only integration tests for text/plain/html message content endpoints.
mailinator-csharp-client-tests/mailinator-csharp-client-tests.csproj Migrated to SDK-style project with PackageReference and modern MSTest stack.
mailinator-csharp-client-tests/DomainWebhookEndpointTests.cs Added explicit opt-in integration tests for domain/inbox webhook injection.
mailinator-csharp-client-tests/app.config Updated binding redirect for MSTest 4-era dependencies.
EXAMPLES.md Added examples for domain listing, message summary/headers/content, and domain/inbox webhook injection; updated authenticators example.
eng/OpenApiCoverageCheck/packages.lock.json Added lock file for OpenAPI coverage tool restores.
eng/OpenApiCoverageCheck/OpenApiCoverageCheck.csproj Updated Microsoft.OpenApi.Readers dependency version.
Directory.Build.props Enabled RestorePackagesWithLockFile repo-wide.
CHANGELOG.md Added 1.0.8 release notes covering new endpoints, dependency updates, and tests/docs changes.
.env.example Added new fixture variables (message ID, webhook opt-in) for integration tests.
Review details

Suppressed comments (1)

mailinator-csharp-client/Models/Webhooks/Entities/WebhookMessage.cs:17

  • WebhookMessage.AdditionalProperties is implemented as an auto-property, while the surrounding models typically expose JSON members as public fields. Aligning this with the rest of the SDK’s model style keeps serialization behavior and conventions consistent.
  • Files reviewed: 46/46 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread mailinator-csharp-client/Models/Webhooks/Entities/WebhookMessage.cs

@ckenst ckenst left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two functional/compatibility findings from the 1.0.8 review:

<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="RestSharp" Version="112.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<PackageReference Include="RestSharp" Version="114.0.0" />

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RestSharp 114 is a breaking dependency upgrade inside a 1.0.8 patch release. RestSharp's v114 changelog explicitly lists breaking API changes, and this SDK publicly exposes RestSharp types through IHttpClient and DynamicJsonSerializer, so consumers can encounter source or binary incompatibilities when updating from 1.0.7. Please either keep RestSharp 112 while pinning the patched System.Text.Json, or make this a new SDK major version with migration guidance. See https://restsharp.dev/docs/changelog/.

requestObject.AddSafeQueryParameter("inbox", request.Inbox);
requestObject.AddSafeQueryParameter("skip", request.Skip.ToString());
requestObject.AddSafeQueryParameter("limit", request.Limit.ToString());
requestObject.AddSafeQueryParameter("sort", request.Sort.ToString());

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sort.ToString() produces asc or desc, while the OpenAPI contract permits ascending or descending (and the enum's EnumMember attributes already encode those values). An explicit ascending request can therefore be rejected or silently fall back to descending. Please serialize the EnumMember value or map it explicitly, update the test that currently asserts asc, and apply the same correction to FetchInboxAsync. Spec: https://github.com/manybrain/mailinatordocs/blob/main/openapi/mailinator-api.yaml#L848-L858.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants